package com.example.leetcode.prcatice;

import java.util.Arrays;

/**
 * 夏日炎炎，小男孩 Tony 想买一些雪糕消消暑。
 *
 * <p>商店中新到 n 支雪糕，用长度为 n 的数组 costs 表示雪糕的定价，其中 costs[i] 表示第 i 支雪糕的现金价格。Tony 一共有 coins
 * 现金可以用于消费，他想要买尽可能多的雪糕。
 *
 * <p>给你价格数组 costs 和现金量 coins ，请你计算并返回 Tony 用 coins 现金能够买到的雪糕的 最大数量 。
 *
 * <p>注意：Tony 可以按任意顺序购买雪糕。
 *
 * <p>
 *
 * <p>示例 1：
 *
 * <p>输入：costs = [1,3,2,4,1], coins = 7 输出：4 解释：Tony 可以买下标为 0、1、2、4 的雪糕，总价为 1 + 3 + 2 + 1 = 7
 *
 * <p>来源：力扣（LeetCode） 链接：https://leetcode-cn.com/problems/maximum-ice-cream-bars
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class Test1833 {

    public int maxIceCream(int[] costs, int coins) {
        Arrays.parallelSort(costs);
        int sum  = 0;
        int count = 0;
        if (costs[0]>coins){
            return count;
        }
        for ( int i:costs ) {
            sum += i;
            if(sum >coins){
                return count;
            }
            else {
                count++;
            }
        }
        return count;
    }
}
class Demo1833{
  public static void main(String[] args) {
    int coins = 5;
    int[]costs = {10,6,8,7,7,8};
    Test1833 t = new Test1833();
    System.out.println(t.maxIceCream(costs,coins));
  }
}